home *** CD-ROM | disk | FTP | other *** search
/ Personal Computer World 2009 February / PCWFEB09.iso / Software / Linux / Kubuntu 8.10 / kubuntu-8.10-desktop-i386.iso / casper / filesystem.squashfs / usr / bin / gdebi-kde < prev    next >
Text File  |  2008-08-05  |  4KB  |  119 lines

  1. #!/usr/bin/python
  2. # -*- coding: utf-8 -*-
  3. #
  4. # Copyright (c) 2005-2007 Martin B├╢hm
  5. # Copyright (c) 2008 Canonical Ltd
  6. #
  7. # AUTHOR:
  8. # Martin B├╢hm <martin.bohm@ubuntu.com>
  9. #
  10. # This file is part of GDebi
  11. #
  12. # GDebi is free software; you can redistribute it and/or
  13. # modify it under the terms of the GNU General Public License as published
  14. # by the Free Software Foundation; either version 2 of the License, or (at
  15. # your option) any later version.
  16. #
  17. # GDebi is distributed in the hope that it will be useful,
  18. # but WITHOUT ANY WARRANTY; without even the implied warranty of
  19. # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  20. # General Public License for more details.
  21. #
  22. # You should have received a copy of the GNU General Public License
  23. # along with this program.  If not, see <http://www.gnu.org/licenses/>.
  24.  
  25. import sys
  26. import os
  27. import subprocess
  28. import string
  29. import apt
  30. import apt_pkg
  31. from PyKDE4.kdecore import *
  32. from PyKDE4.kdeui import *
  33.  
  34. import urllib
  35. import fcntl
  36. import posix
  37. import time
  38. import thread
  39. import re
  40. import pty
  41. import select
  42.  
  43. import sys
  44. import apt
  45. import os.path
  46.  
  47. #from optparse import OptionParser
  48. from GDebi.GDebiKDE import GDebiKDE
  49.  
  50. from gettext import gettext as _
  51. import gettext
  52.  
  53. class OptionParsed:
  54.     non_interactive = False
  55.  
  56. if __name__ == "__main__":
  57.     data="/usr/share/gdebi"
  58.  
  59.     localesApp="gdebi"
  60.     localesAppKdelibs="kdelibs"
  61.     localesDir="/usr/share/locale"
  62.     gettext.bindtextdomain(localesApp, localesDir)
  63.     gettext.textdomain(localesApp)
  64.     #parser = OptionParser()
  65.     #parser.add_option("-n", "--non-interactive",
  66.     #                  action="store_true", dest="non_interactive",
  67.     #                  default=False,
  68.     #                  help=_("Run non-interactive (dangerous!)"))
  69.     #(options, args) = parser.parse_args()
  70.     #afile = ""
  71.     #if len(args) >= 1:
  72.     #    afile = args[0]        
  73.     try:
  74.         appName     = "gdebi-kde"
  75.         catalog     = ""
  76.         programName = ki18n ("GDebi")
  77.         version     = "1.0"
  78.         description = ki18n (".deb Package Installer")
  79.         license     = KAboutData.License_GPL
  80.         copyright   = ki18n ("(c) 2005-2007 Martin B├╢hm, 2008 Canonical Ltd")
  81.         text        = ki18n ("none")
  82.         homePage    = "launchpad.net/gdebi"
  83.         bugEmail    = ""
  84.  
  85.         aboutData   = KAboutData (appName, catalog, programName, version, description,
  86.                                 license, copyright, text, homePage, bugEmail)
  87.         KCmdLineArgs.init(sys.argv, aboutData)
  88.  
  89.         opts = KCmdLineOptions()
  90.         opts.add("n")
  91.         opts.add("dont-interactive", ki18n("Run non-interactive (dangerous!)")) #should be "non-interactive" but "no" gets eaten by KCmdLineArgs
  92.         opts.add("+[File]", ki18n("File to open"))
  93.         KCmdLineArgs.addCmdLineOptions(opts)
  94.  
  95.         app = KApplication()
  96.         args = KCmdLineArgs.parsedArgs()
  97.         afile = ""
  98.         if args.count() >= 1:
  99.             afile = args.arg(0)
  100.         afile = unicode(afile, 'utf-8')
  101.         options = OptionParsed #FIXME set non_interactive
  102.         gdebi = GDebiKDE(datadir=data,options=options,file=afile)
  103.         gdebi.show()
  104.         if args.isSet("dont-interactive") == True:
  105.             options.non_interactive = True
  106.             gdebi.installButtonClicked()
  107.         app.exec_()
  108.     except SystemError, e:
  109.         err_header = _("Software index is broken")
  110.         err_body = _("This is a major failure of your software " 
  111.                     "management system. Please check for broken packages "
  112.                     "with synaptic, check the file permissions and "
  113.                     "correctness of the file '/etc/apt/sources.list' and "
  114.                     "reload the software information with: "
  115.                     "'sudo apt-get update' and 'sudo apt-get install -f'."
  116.                     )
  117.         errorReport = KMessageBox.error(None, '<b>' + err_header + '</b><br>' + err_body, err_header)
  118.         sys.exit(1)
  119.